Putting Polyhedral Loop Transformations to Work
نویسندگان
چکیده
We seek to extend the scope and efficiency of iterative compilation techniques by searching not only for program transformation parameters but for the most appropriate transformations themselves. For that purpose, we need to find a generic way to express program transformations and compositions of transformations. In this article, we introduce a framework for the polyhedral representation of a wide range of program transformations in a unified way. We also show that it is possible to generate efficient code after the application of polyhedral program transformations. Finally, we demonstrate an implementation of the polyhedral representation and code generation techniques in the Open64/ORC compiler.
منابع مشابه
Polyhedral Abstract Interpretation
The polyhedral model is a collection of techniques developed around a common intermediate representation of programs : integer polyhedra. Such a mathematical representation of programs inherits nice structural properties. For instance, when loop transformations are represented as affine functions, compositions of transformations are also affine functions due to their closure properties. The pol...
متن کاملGRAPHITE: Polyhedral Analyses and Optimizations for GCC
We present a plan to add loop nest optimizations in GCC based on polyhedral representations of loop nests. We advocate a static analysis approach based on a hierarchy of interchangeable abstractions with solvers that range from the exact solvers such as OMEGA, to faster but less precise solvers based on more coarse abstractions. The intermediate representation GRAPHITE1 (GIMPLE Represented as P...
متن کاملOil and Water can mix! Experiences with integrating Polyhedral and AST-based Transformations
The polyhedral model is an algebraic framework for affine program representations and transformations for enhancing locality and parallelism. Compared with traditional AST-based transformation frameworks, the polyhedral model can easily handle imperfectly nested loops and complex data dependences within and across loop nests in a unified framework. On the other hand, AST-based transformation fr...
متن کاملPolygonal Iteration Space Partitioning using the Polyhedral Model
OF THE DISSERTATION Polygonal Iteration Space Partitioning using the Polyhedral Model By Aniket Shivam Master of Science in Computer Science University of California, Irvine, 2016 Professor Alexander V. Veidenbaum, Chair Loop-nests in most scientific applications perform repetitive operations on array(s) and account for most of the program execution time. Traditional loop transformations, such ...
متن کاملLoopy: Programmable and Formally Verified Loop Transformations
Abstract. This paper presents a system, Loopy, for programming loop transformations. Manual loop transformation can be tedious and errorprone, while fully automated methods do not guarantee improvements. Loopy takes a middle path: a programmer specifies a loop transformation at a high level, which is then carried out automatically by Loopy, and formally verified to guard against specification a...
متن کامل